﻿using SportsPlatform.Base;
using SportsPlatform.Dto.SportBusiness.Employee;
using SportsPlatform.Dto.WeChat.Me;
using SportsPlatform.Query.SportBusiness.Feedback;
using SportsPlatform.Query.WeChat;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SportsPlatform.WeChat.IWeChat
{
    /// <summary>
    /// 移动端我的服务接口
    /// </summary>
    public interface IMeService
    {
        /// <summary>
        /// 通过标识获取用户信息
        /// </summary>
        /// <param name="Id">标识</param>
        /// <returns></returns>
        Task<ResultDto<WeCahtMeEmployeeDto>> GetByIdToEmployee(GetEmployeeByIdQuery query);

        /// <summary>
        /// 更新用户信息
        /// </summary>
        /// <param name="query">传入参数</param>
        /// <returns></returns>
        Task<ResultDto<EmployeeDto>> UpdateEmployee(UpdateEmployeeQuery query);

        /// <summary>
        /// 获取团队列表
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        Task<ResultListDto<WeChatTeamDto>> GetTeams(GetMeTeamEmployeeQuery query);

        /// <summary>
        /// 开始添加意见反馈
        /// </summary>
        /// <param name="addFeedbackQuery">传入参数</param>
        /// <returns></returns>
        Task<BaseResultDto> AddFeedbackStart(AddFeedbackQuery addFeedbackQuery);

        /// <summary>
        /// 获取用户报名总数
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        Task<ResultDto<int>> GetRegisterCount(GetEmployeeRegisterQuery query);

        /// <summary>
        /// 获取赛事总条数
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        Task<ResultDto<int>> GetCompetitionCount(GetEmployeeRegisterQuery query);

        /// <summary>
        /// 通过用户id获取最新创建的团队名称
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        Task<ResultDto<string>> GetByEmloyeeId(GetEmployeeRegisterQuery query);
    }
}
